﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using V = Science.Mathematics.VectorCalculus;

namespace VectorCalculus5Ed.Chapter2.Section4
{
    public class Example01
    {
        public Example01()
		{
		}
		private string result;
		public string Result
		{
			get{return result;}
		}
        public void Compute()
        {
            V.Function.ToLastType<double,double[]> map 
                = new V.Function.ToLastType<double,double[]>(func);
            V.Path p = new V.Path(map);
            p.ParameterFrom = 2.0;
            p.ParameterTo = 4.0;
            V.Curve c = new V.Curve(p);
            c.Find(0.01);
            for (int i = 0; i < c.CoordinatesOfPoints.Count; i++)
            {
                double[] y = (double[])c.CoordinatesOfPoints[i];
                result += y[0].ToString() + "\t  ";
                result += y[1].ToString() + "\t  ";
                result += y[2].ToString() + "\r\n";
            }
        }
        private double[] func(double t)
        {
            double[] r = new double[3];
            r[0] = 1.0 + t;
            r[1] = 2.0 + 3.0 * t;
            r[2] = 3.0 + 2.0 * t;
            return r;
        }
    }
}
/*
3	  8	  7
3.01	  8.03	  7.02
3.02	  8.06	  7.04
3.03	  8.09	  7.06
3.04	  8.12	  7.08
3.05	  8.15	  7.1
3.06	  8.18	  7.12
3.07	  8.21	  7.14
3.08	  8.24	  7.16
3.09	  8.27	  7.18
3.1	  8.3	  7.2
3.11	  8.33	  7.22
3.12	  8.36	  7.24
3.13	  8.39	  7.26
3.14	  8.42	  7.28
3.15	  8.45	  7.3
3.16	  8.48	  7.32
3.17	  8.51	  7.34
3.18	  8.54	  7.36
3.19	  8.57	  7.38
3.2	  8.6	  7.4
3.21	  8.63	  7.42
3.22	  8.66	  7.44
3.23	  8.69	  7.46
3.24	  8.72	  7.48
3.25	  8.75	  7.5
3.26	  8.78	  7.52
3.27	  8.81	  7.54
3.28	  8.84	  7.56
3.29	  8.87	  7.58
3.3	  8.9	  7.6
3.31	  8.93	  7.62
3.32	  8.96	  7.64
3.33	  8.99	  7.66
3.34	  9.02	  7.68
3.35	  9.05	  7.7
3.36	  9.08	  7.72
3.37	  9.11	  7.74
3.38	  9.14	  7.76
3.39	  9.17	  7.78
3.4	  9.2	  7.8
3.41	  9.23	  7.82
3.42	  9.26	  7.84
3.43	  9.29	  7.86
3.44	  9.32	  7.88
3.45	  9.35	  7.9
3.46	  9.38	  7.92
3.47	  9.41	  7.94
3.48	  9.44	  7.96
3.49	  9.47	  7.98
3.5	  9.5	  8
3.51	  9.53	  8.02
3.52	  9.56	  8.04
3.53	  9.59	  8.06
3.54	  9.62	  8.08
3.55	  9.65	  8.1
3.56	  9.68	  8.12
3.57	  9.71	  8.14
3.58	  9.74	  8.16
3.59	  9.77	  8.18
3.6	  9.8	  8.2
3.61	  9.83	  8.22
3.62	  9.86	  8.24
3.63	  9.89	  8.26
3.64	  9.92	  8.28
3.65	  9.95	  8.3
3.66	  9.98	  8.32
3.67	  10.01	  8.34
3.68	  10.04	  8.36
3.69	  10.07	  8.38
3.7	  10.1	  8.4
3.71	  10.13	  8.42
3.72	  10.16	  8.44
3.73	  10.19	  8.46
3.74	  10.22	  8.48
3.75	  10.25	  8.5
3.76	  10.28	  8.52
3.77	  10.31	  8.54
3.78	  10.34	  8.56
3.79	  10.37	  8.58
3.8	  10.4	  8.6
3.81	  10.43	  8.62
3.82	  10.46	  8.64
3.83	  10.49	  8.66
3.84	  10.52	  8.68
3.85	  10.55	  8.7
3.86	  10.58	  8.72
3.87	  10.61	  8.74
3.88	  10.64	  8.76
3.89	  10.67	  8.78
3.9	  10.7	  8.8
3.91	  10.73	  8.82
3.92	  10.76	  8.84
3.93	  10.79	  8.86
3.94	  10.82	  8.88
3.95	  10.85	  8.9
3.96	  10.88	  8.92
3.97	  10.91	  8.94
3.98	  10.94	  8.96
3.99	  10.97	  8.98
4	  11	  9
4.01	  11.03	  9.02
4.02	  11.06	  9.04
4.03	  11.09	  9.06
4.04	  11.12	  9.08
4.05	  11.15	  9.1
4.06	  11.18	  9.12
4.07	  11.21	  9.14
4.08	  11.24	  9.16
4.09	  11.27	  9.18
4.1	  11.3	  9.2
4.11	  11.33	  9.22
4.12	  11.36	  9.24
4.13	  11.39	  9.26
4.14	  11.42	  9.28
4.15	  11.45	  9.3
4.16	  11.48	  9.32
4.17	  11.51	  9.34
4.18	  11.54	  9.36
4.19	  11.57	  9.38
4.2	  11.6	  9.4
4.21	  11.63	  9.42
4.22	  11.66	  9.44
4.23	  11.69	  9.46
4.24	  11.72	  9.48
4.25	  11.75	  9.5
4.26	  11.78	  9.52
4.27	  11.81	  9.54
4.28	  11.84	  9.56
4.29	  11.87	  9.58
4.3	  11.9	  9.6
4.31	  11.93	  9.62
4.32	  11.96	  9.64
4.33	  11.99	  9.66
4.34	  12.02	  9.68
4.35	  12.05	  9.7
4.36	  12.08	  9.72
4.37	  12.11	  9.74
4.38	  12.14	  9.76
4.39	  12.17	  9.78
4.4	  12.2	  9.8
4.41	  12.23	  9.82
4.42	  12.26	  9.84
4.43	  12.29	  9.86
4.44	  12.32	  9.88
4.45	  12.35	  9.9
4.46	  12.38	  9.92
4.47	  12.41	  9.94
4.48	  12.44	  9.96
4.49	  12.47	  9.98
4.5	  12.5	  10
4.51	  12.53	  10.02
4.52	  12.56	  10.04
4.53	  12.59	  10.06
4.54	  12.62	  10.08
4.55	  12.65	  10.1
4.56	  12.68	  10.12
4.57	  12.71	  10.14
4.58	  12.74	  10.16
4.59	  12.77	  10.18
4.6	  12.8	  10.2
4.61	  12.83	  10.22
4.62	  12.86	  10.24
4.63	  12.89	  10.26
4.64	  12.92	  10.28
4.65	  12.95	  10.3
4.66	  12.98	  10.32
4.67	  13.01	  10.34
4.68	  13.04	  10.36
4.69	  13.07	  10.38
4.7	  13.1	  10.4
4.71	  13.13	  10.42
4.72	  13.16	  10.44
4.73	  13.19	  10.46
4.74	  13.22	  10.48
4.75	  13.25	  10.5
4.76	  13.28	  10.52
4.77	  13.31	  10.54
4.78	  13.34	  10.56
4.79	  13.37	  10.58
4.8	  13.4	  10.6
4.81	  13.43	  10.62
4.82	  13.46	  10.64
4.83	  13.49	  10.66
4.84	  13.52	  10.68
4.85	  13.55	  10.7
4.86	  13.58	  10.72
4.87	  13.61	  10.74
4.88	  13.64	  10.76
4.89	  13.67	  10.78
4.9	  13.7	  10.8
4.91	  13.73	  10.82
4.92	  13.76	  10.84
4.93	  13.79	  10.86
4.94	  13.82	  10.88
4.95	  13.85	  10.9
4.96	  13.88	  10.92
4.97	  13.91	  10.94
4.98	  13.94	  10.96
4.99	  13.97	  10.98
*/
